"""
@-*- coding: utf-8 -*-
@ python：python 3.8
@ 创建人员:ylx-lingxiao
@ 创建时间:2024/10/11  23:07
@ File:study3.py
@ Explanation:网络基础知识
"""
"""
1.域名 如baidu.com      www是万维网的意思  world wide web
1个公网的IP地址和域名是一对一的，注册域名的时候一定会绑定一个IP地址
当别人访问这个域名时，通过dns解析服务，解析到IP地址，你实际访问的是IP，底层的网络世界是用IP的，域名最主要的作用是能让人们很容易记住这个网站
domain name system
一般来说，dns服务器，都是我们连接的路由器，由它来做我们的dns解析服务  如192.168.128.1
HTTPS 国际通用的端口号。使用的是443
http 端口号默认是80
比如接口的请求头中域名，会被解析成一个远程访问的地址+端口号

cmd的ping命令

ipconfig /all 看你网络的配置，详情  可以看你本机分到的IP地址，看的比较全

网关就是网络代理，我们的所有消息都是发给网关，一般来说就是路由器

ping你访问的地址，如 ping www.baidu.com

浏览器能打开，任何城市或地方能访问的，都是公网IP    4位，每一位的取值是0-255

私网IP的出现就是因为公网IP不够用了
家用或社区  192.168
10 公司或者企业内网
172 实验室 机房
127 本机地址 localhost 127.0.0.1

国内的上网环境是层层代理制度的
公网地址唯一，私网地址可以随意重复，不具有唯一性

比如说你家里走了3路WiFi  那你设备连接3个WiFi查询你的本机公网IP应该是不一样的，如果是一样的，那就是走了一路去了，还收你3路的钱，骗人
得来三个公网IP地址才可以，出口必须不一样

Linux看网络情况： ifconfig



dhcp
dhcp服务器，一般也是我们的路由器，一般是用来给我们动态的去分IP地址的，IP地址会有租约
租约到期后，手机会闪断一下，然后重新给你分新的IP地址
你一般访问你网络详情的dhcp服务器地址，可以进入你路由器管理的后台

如何确保信息能准确的发送到一个人的手里，IP只是表面的地址，最核心的还是mac地址
网卡的物理地址，任何上网设备的身份证，IP会变，但是mac地址不会


排查网络情况：tracert 路由追踪--如果你发现你无法上网或者访问某个地址出了问题，可以使用这个命令来判断哪个环节出了问题  tracert www.baidu.com
会看到你网络访问的整个路径，有些路径会做保护，如内部的网络会使用*保密，不让你看


OSI(open system interconnect开放系统互连参考模型)七层模型，我们也称之为理想模型
应用层    为程序提供接口，使得程序能够使用网络服务，如HTTPS 443 http 80 SMTP 25 pop3 110 telnet 23 dns 53端口 ftp 20/21端口
表示层    对数据进行转换，加密，压缩；数据的解码与编码，加密与解密，压缩与解压缩
会话层    建立，管理，终止表示层实体之间的会话连接，在各个节点之间提供会话控制，它在系统之间协调通信过程，提供三种不同的方式来组织他们之间的通信
         单工，半双工，全双工
传输层    提供可靠的端到端的报文传输和差错控制，保证报文在端到端的传输，服务点编址 分段与重组 连接与控制 流量控制，差错控制
网络层    将分组从源端传递到目的端，提供网络互联；为网络设备提供逻辑地址，进行路由选择，维护路由表，负责将分组数据从源端传输到目的端，例如
         1.广播组播隔绝；2.寻址及转发选择到达目的网络的最佳路径；3.流量管理；4.连接广域网WAN
数据链路层 将分组数据封装成帧，提供节点到节点方式的传输；在不可靠的物理链路上提供可靠的数据传输服务，把帧从一跳（节点）移动到另一跳（节点）
         组帧，物理编址，流量控制，差错控制，接入控制
物理层    在媒体上传输比特，提供机械和电气的规约，负责把逐个的比特从一跳移动到另一跳；定义接口和媒体的物理特性；定义比特的表示，数据传输速率，信号的
         传输模式，定义网络物理拓扑（网状，星型，环型，总线型等拓扑）


tcp/ip 模型
应用层  对应前3    打开什么软件，数据怎么处理，和对方怎么建立会话
传输层  对应       比如发信息，等你点发送的那一刻，就到传输层了，怎么样去把消息发送出去；两种传输方式TCP  UDP  类比发快递时的汽车运输，飞机运输
网络层  对应       数据的传输的路线制定
数据链路层 对应后2   数据最小的传输单元叫帧，拆分数据大小，分发到目标端，目标端接收后，重组；边下边播也是这个原理；数据链路层主要负责的就是数据的拆分
                  边拆边走；数据拆分完成后，最后的实际传输走的是物理层，走网线或者光纤传输（除卫星通信外）--概括数据拆解和物理层的传输
                  
                  

TCP和UDP的区别
共性：TCP和UDP（网络控制协议中的）传输层的两种协议

TCP是面向连接的，安全可靠的传输协议，这里的面向连接指的就是三次握手和四次挥手，也就是建立连接的过程和断开连接的过程，
三次握手，主动方先发一次申请，对方收到后回复你，我同意，如果拒绝则这次对话结束，连接不能被建立，若对方同意后，你再发起一次正式的连接，建立后可以进行数据
双向的传输--主动方发送2次，第一次是请求连接，第二次是正式建立连接，接受方回应一次----类似打微信视频
四次挥手：主动方申请断开，接受方先响应，证明收到了申请断开，接受方再次发送，可以断开，再次由主动方正式发起断开的请求


UDP是无连接的，不可靠的传输协议；只管发送，数据的发送不需要和对方建立连接，是散发式的，比如说，你说的话广播式的发送，不需要和对面建立连接，我只管发生
不管你是否收到，可能对个人都会听到你的声音，强制触达，优点就是-速度快，但是不可靠指的是，可能我说话的时候周围有50个人，但是只有30个人听到了，也有可能
无人回应，无法保证每个人都听到；优点就是速度快，不管对方有没有收到


云服务
将所有的资源或者计算能力都放到云端的设备上，买的就是服务器的 几核 几G内存 多少带宽，多少系统盘
云分为--
公有云--多家公司共享一个服务器，做了虚拟化的处理
私有云--这个机柜专人专用，整体都是独享，专用，整个机柜
混合云--私有+公共，一个机柜，划分到你要有私有，剩余的公有云散卖，做成混合云
加格不一样，安全性也不一样


iaas 只卖硬件，自己搭建，提供基础设施服务，我们企业一般买回来的都是裸机，搭建基础设施，比如需要自己去搭建对应的测试环境，比如需要
数据库mysql，Java环境等等；这些基础设置指定好以后，才能去成功的部署开发好的软件
paas 平台服务，半成品
saas 成品，软件服务
举例子，做餐饮
iaas 他人提供厨房，炉子，煤气，等你使用的基础设置，你来烤你的披萨，自己做饼，和面，剁菜来自己做肉馅
paas 除了基础设施，还给你提供披萨的饼坯，你自己烤加工下即可
saas 提供成品，你只负责卖出去，无非就是包装下，贴牌
"""
